home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / mint / shells / tcsh6033.zoo / tcsh-603.pl3 / README < prev    next >
Text File  |  1993-03-12  |  8KB  |  185 lines

  1. This is tcsh version 6.03.  Tcsh is a version of the Berkeley
  2. C-Shell, with the addition of: a command line editor, command and file
  3. name completion, listing, etc. and a bunch of small additions to the
  4. shell itself.
  5.  
  6. Tcsh runs on BSD 4.2 and 4.3 Unix, Mach, Sun Unix (tested on 3.0, 3.2,
  7. 3.4, 4.0, 4.1.x), Pyramid OS/X (in the bsd universe), Encore UMAX 4.2,
  8. Apple A/UX 2.0, AT&T 3b machines under SysV.2 and V.3, HP/UX 6.2 on
  9. series 300 and 800 machines and all HP machines under HP/UX 6.5, 7.0
  10. and 8.0 and will probably work with a bit of tinkering on anything else
  11. either BSD or SysV-ish. It also runs under VMS/POSIX and OS/2+emx.
  12. Note that the above list is incomplete, and the place to look is the
  13. config directory to find a configuration file
  14. appropriate for your machine.
  15.  
  16. Feel free to use it.  These changes to csh may only be included in a
  17. commercial product if the inclusion or exclusion does not change the
  18. purchase price, level of support, etc.  Please respect the individual
  19. authors by giving credit where credit is due (in other words, don't
  20. claim that you wrote portions that you haven't, and don't delete the
  21. names of the authors from the source code or documentation).  
  22.  
  23. To install tcsh:
  24.  
  25. 1)  Look at the Makefile and make sure that you are using the right
  26.     compilation flags.
  27.  
  28. 2)  Copy the appropriate for your machine and OS config file from the
  29.     config subdirectory into config.h. If you are trying to compile
  30.     tcsh on a machine for which there is no config file yet, you will
  31.     need to create a config file using as a template one of the
  32.     supplied ones.  If you get tcsh working on a new machine, I'd
  33.     appreciate a copy of the config file plus additional information
  34.     about the architecture/OS.  If you are creating a new config file,
  35.     look very hard at BSDJOBS, BSDSIGS, and BSDTIMES if you are running
  36.     a non-BSD machine.  For vanila SysV, these would all be #undef-ed,
  37.     but others may vary (such as A/UX or HPUX).  On a pyramid, compile
  38.     in the UCB universe even if you are running under the ATT universe
  39.     usually; it will work anyway, and you get job control for free.
  40.  
  41.  
  42. 3)  Look at config_f.h, and enable or disable any features you want.
  43.     It is configured the way I like it, but you may disagree.
  44.     If you do not have NLS, then locale.h will not be found. Undefine it
  45.     and things should work ok. On the other hand, if you have NLS you
  46.     might as well use it...
  47.  
  48. 4)  Look at tc.vers.c to make sure that you have the right #ifdefs to set
  49.     the environment variable "HOSTTYPE" correctly.  If you need to make
  50.     changes, PLEASE SEND THEM BACK TO ME.
  51.  
  52. 5)  You may want to adjust the DESTDIR and DESTMAN entries in the
  53.     Makefile.  These are the directories that tcsh, and the tcsh.1 man
  54.     entry will be placed in when you do a "make install".  If you decide
  55.     to install tcsh somewhere other than in /usr/local/bin/tcsh, you should
  56.     #define _PATH_TCSHELL "/your/installation/directory/tcsh" in pathnames.h.
  57.  
  58. 6)  make
  59.  
  60. 7)  Read the documentation while you are waiting.  The file tcsh.man
  61.     is in standard [nt]roff -man format.
  62.  
  63. 8)  Test tcsh to see that it has compiled correctly.  The history
  64.     command should give a time stamp on every entry.  Typing normal
  65.     characters should echo each exactly once.  Control-A should put the
  66.     cursor at the beginning of the input line, but after the prompt.
  67.     Typing characters after that should insert them into the line.
  68.     If you have job control make sure that stopping and restarting
  69.     jobs works. Make sure you can ^C in the middle of the input line.
  70.     Also make sure that pipelines work correctly and there
  71.     are no races. Try 'echo | cat | cat | cat | cat | more' a couple
  72.     of times. If you have job control, try this command in the background
  73.     and bring it in the foreground when it stops for tty output. 
  74.     Also make sure that the ioctl() modes are preserved.
  75.     Get into vi, enter and exit input mode and suspend it, background
  76.     it and foreground it again. After all that, lastly make sure that
  77.     the tty process group manipulation is happening correctly. Try
  78.     ftp to some host. If your passwd appears on the screen, you have
  79.     lost /dev/tty. Otherwise everything is fine. 
  80.  
  81. 9)  Enjoy.
  82.  
  83. 10) PLEASE send any bug reports (and fixes), code for new features,
  84.     comments, questions, etc. (even flames) to:
  85.  
  86.          -- Christos Zoulas
  87.         christos@ee.cornell.edu
  88.  
  89. Various:
  90.  
  91. ***************************************************************************
  92.  
  93. On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory 
  94. manipulation library has to be installed. This library is available
  95. for anonymous ftp from prep.ai.mit.edu:/pub/gnu/dirent.tar.Z
  96. If the network is not installed, then there is a gethostname()
  97. routine is tc.os.c, enabled by defining NEEDgethostname
  98.  
  99. ***************************************************************************
  100.  
  101. On BSDreno, in ttyname() closedir() is called twice and so the same
  102. pointer gets free'd twice. tcsh's malloc is picky and it prints an
  103. error message to that effect. If you don't like the message:
  104.  
  105. 1. Apply the following patch:
  106.  
  107. *** /usr/src/lib/libc/gen/ttyname.c.orig    Fri Jun  1 17:17:15 1990
  108. --- /usr/src/lib/libc/gen/ttyname.c    Tue Oct 29 16:33:12 1991
  109. ***************
  110. *** 51,57 ****
  111.           if (stat(buf, &sb2) < 0 || sb1.st_dev != sb2.st_dev ||
  112.               sb1.st_ino != sb2.st_ino)
  113.               continue;
  114. -         closedir(dp);
  115.           rval = buf;
  116.           break;
  117.       }
  118. --- 51,56 ----
  119.  
  120. Or: Comment the error printing out in tc.alloc.c
  121. Or: Compile -DSYSMALLOC
  122.  
  123.  
  124. ***************************************************************************
  125.  
  126. Tcsh has been ported to minix by  Scott Krotz (krotz@honey.rtsg.mot.com).
  127. Unfortunately the minix sed is broken, so you'll have to find a way to
  128. make tc.const.h, sh.err.h, ed.defns.h which are automatically generated.
  129. The easiest way to create them is to make a copy from unix, copying 
  130. config.minix to config.h, and then 'make sh.err.h tc.const.h ed.defns.h'
  131.  
  132. The OS/dependent files are in mi.termios.h, mi.wait.h, mi.varargs.h
  133.  
  134. You will get some warnings, but dont worry about them, just ignore
  135. them.  After tcsh has compiled and the gcc binary is converted to a
  136. minix binary, remember to chmem it to give it more memory - it will
  137. need it!  How much you need depends on how many aliases you have, etc..
  138. Add at least 50000 to it.
  139.  
  140. One last thing.  You might have to make some links for include files so
  141. that they are in the directories that tcsh is expecting while compiling.
  142. I forget if I had to do this or not, but it should be fairly easy to sort
  143. out.  If it cant find any include files this is probably the reason.
  144.  
  145. If you have any problems, please tell me.  I can be contacted through
  146. e-mail at:
  147.  
  148. krotz@honey.rtsg.mot.com
  149.  
  150. I also read comp.os.minix on a regular basis, so a note there will get
  151. my attention also.
  152.  
  153. Have fun!
  154.  
  155. Scott Krotz
  156.  
  157. ps.  The termios functions are provided by Magnus Doell and Bruce Evans.
  158.      Thanks, guys!
  159.  
  160.  
  161. This is for minix 1.5 (straight out of the box from P-H) plus the i386
  162. patches from Bruce Evans.
  163.  
  164. I cross-compiled on a Sun using gcc 2.1 with a target of i386-bsd
  165. (using the minix include files instead of the bsd versions), and then
  166. linked the resulting object files with similarly compiled crtso.o and
  167. libc.a on vax (little endian) using a hacked version of ld which I put
  168. together to generate minix executables instead of bsd a.out format.
  169. What a kludge ...
  170.  
  171. I compiled with -O2 -Wall ...  So far I haven't noticed any problems
  172. with the optimizer.
  173.  
  174. In case anyone is contemplating compiling tcsh with bcc (Bruce Evan's
  175. i386 compiler that comes with the minix386 upgrade package), don't bother.
  176. It is some serious bugs that kill tcsh when compiled for 16-bit characters.
  177. I can provide more details of bugs that I noticed for brave souls who want
  178. to try, but it would be hard (and why bother if you can get gcc?).
  179.  
  180. I can make the binary available to anyone who wants it (for example people
  181. who can't get access to a cross-compiling environment, and who don't yet
  182. have gcc running under minix).
  183.  
  184. Bob Byrnes (byrnes@ee.cornell.edu)
  185.